﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography.X509Certificates;
using Sistema.Dominio;


namespace Sistema.NFe
{
    public class InutilizarNFe:NFe
    {
        public void Inutilizar(IList<Int32> Numeros, X509Certificate2 CertificadoDigital, String Justificativa)
        {

        }

        public void Inutilizar(Int32 Inicio, Int32 Fim, X509Certificate2 CertificadoDigital, String Justificativa)
        {
            if (Justificativa.Length < 15) { return; }

            WebServiceNFe.InutilizaNFe inutilizar = new WebServiceNFe.InutilizaNFe();
            var retorno = inutilizar.Inutilizar(Justificativa, CertificadoDigital, Inicio.ToString(), Fim.ToString());
            if (retorno.Item1 == true)
            {
                NFeInfo nota = new NFeInfo();
                nota.Numero = Inicio.ToString();
                nota.DadosEnvio.First().Status = "102";
                nota.DadosEnvio.First().DescricaoStatus = "Inutilizacao de numero homologado";
                base.Salvar(nota);

                nota.DadosOcorrencias.Add(retorno.Item2);
                nota.StatusNota = enumStatusNota.Inutilizada;
                base._repository.Alterar(nota);
            }
        }

        public void Inutilizar(Int32 NumeroNFe, X509Certificate2 CertificadoDigital, String Justificativa)
        {

        }
    }
}
